App StartUp
App Startup是用來統一初始化所有第三方的Library,來提高App的啟動時間。
為了不讓每一個導入的Library調用自己的ContentProvider的初始化,所以App Startup提供了InitializationProvider來運行所有Library的初始化。
create:初始化的必要操作。
dependencies:控制應用程序在啟動時運行初始化程序的順序。
未使用App StartUp
使用App StartUp
implementation "androidx.startup:startup-runtime:1.0.0-alpha03"
class MyInitializer : Initializer<Unit> {
override fun create(context: Context) {
return ThridLibrary.init(context)
}
override fun dependencies(): MutableList<Class<out Initializer<*>>> {
return mutableListOf()
}
}
在AndroidManifest配置
<provider
android:authorities="${applicationId}.androidx-startup"
android:name="androidx.startup.InitializationProvider"
android:exported="false"
tools:node="merge">
<meta-data
android:name="fly.com.jetpacktest.MyInitializer"
android:value="androidx.startup"/>
</provider>